perm filename OO3.FAI[CMS,LCS] blob
sn#448597 filedate 1975-10-29 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00011 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 TITLE OO
C00004 00003 RST: RESET
C00005 00004 INTY: HRRZI N,MEM+1
C00006 00005 EVAL: HRRZI MA,1
C00010 00006 BACK: HRRZI 6,-2(CX)
C00013 00007 GETO: SKIPN OU ??
C00015 00008 INTRU: MOVE EN,JOBCNI
C00019 00009 SAVIT: HRRZM 6,FIXFLG
C00021 00010 OUTINT: HRRZI 6,.+3
C00023 00011 TABL: REPEAT 7,{JFCL↔}
C00025 ENDMK
C⊗;
TITLE OO
EXTERNAL JOBAPR,JOBTPC,JOBCNI,JOBFF,JOBREL,JOBDDT,$I
A←1 ↔ B←2 ↔ FL←4 ↔ EN←7 ↔ TS←10 ↔ OU←11
CX←13 ↔ MA←14 ↔ N←15 ↔ P←17 ↔ MEM←20000
INT: HRRZI EN,INTRU
HRRZM EN,JOBAPR
FILIN: HRRZI EN,MEM+200
CORE EN,
HALT
OPEN DEVN
JRST ERRO
MOVE 6,PPN
MOVEM 6,IFNAM+3
LOOKUP IFNAM
JRST ERRO
MOVE EN,INPO
SETZ TS,
INPUT EN
HRRZ EN,MEM
HRRZI N,MEM(EN)
HRRM N,INTY
SOS INTY
CORE N,
JRST ERRO
SUBI EN,200
JUMPLE EN,RST
IORI EN,177
MOVNS EN
HRLZI EN,-1(EN)
HRRI EN,MEM+177
INPUT EN
JRST RST
ERRO: OUTSTR QMARK
JRST RST
FILO: MOVE 6,TMP
TLNN 6,-1
SUBI 6,MEM
MOVEM 6,(N)
AOJ N,
SUBI N,MEM
HRRZM N,MEM
IORI N,177
MOVNS N
HRLZI N,-1(N)
HRRI N,MEM-1
OPEN DEVN
JRST ERRO
SETZM OFNAM+3
ENTER OFNAM
JRST ERRO
SETZ 16,
OUTPUT N
RELEAS
RST: RESET
SETZM PTNUM
MOVE P,PDPO
MOVE EN,IPC
INTENB EN,
OUTSTR CRLF
HRRZ N,INTY
MOVE OU,(N)
MOVEM OU,TMP
TLNN OU,777777
SKIPA OU,MEM(OU)
ADD OU,ONEB
HRRZI TS,(N)
PUSHJ P,GETO
LOOP: PUSHJ P,INTY
PUSHJ P,EVAL
PUSHJ P,GETO
JRST LOOP
INTY: HRRZI N,MEM+1
HRRZI TS,(N)
SKIPN PTOFL
OUTSTR ASTR
IWAIT
INCHRS EN
JRST .-2
INLIN: HRRZM EN,(TS)
SETZM 1(TS)
ADDI TS,2
INCHRS EN
CAIA
JRST INLIN
SKIPL OU,LITFLG
JRST (OU)
POPJ P,
LITCK: CAME EN,LITCHR
JRST INTY+4
SETOM LITFLG
POPJ P,
STLIT: SKIPL FIXFLG
POPJ P,
IWAIT
INCHRS LITCHR
JRST .-2
SUBI TS,2
HRRZI 6,LITCK
HRRZM 6,LITFLG
HRRZI 6,POPS
HRRZM 6,FIXFLG
SUB P,TWOB
PUSH P,RETRN
JRST INTY+4
EXCT: HLRZ 6,6
XCT TABL(6)
JRST CKEX1+2
EVAL: HRRZI MA,1
HRRZI CX,(N)
JRST BGIN
MVM: HRLI OU,400000(MA)
HRRZI 6,2
JRST LMVM
LAEQ: HRRZI 6,2
CAIE OU,(MA)
ADDI 6,2
SUBI 5,2
HLL OU,(5)
LMVM: MOVEM OU,(5)
SETZM 1(5)
ADDI 5,2
SUBI TS,(6)
ADDI 6,(5)
HRLZI 6,(6)
HRRI 6,(5)
BLT 6,(TS)
JRST LKMO
FDEQ: MOVE 4,MEM(MA)
HRRZI 5,(N)
LKMO: CAMN 4,(5)
JRST EQU
ADIN: ADDI 5,2
CAIGE 5,(TS)
JRST LKMO
ADDI MA,2
BGIN: CAIGE MA,-MEM(N)
JRST FDEQ
HRRZI MA,-MEM(CX)
ADDI N,2
CAIGE N,(TS)
JRST FDEQ
JRST BACK
EQU: HRRZI OU,(MA)
CAILE TS,2(5)
CAIG N,MEM+2(MA)
JRST CKLA
MOVE 6,MEM+2(MA)
CAMN 6,2(5)
HRRI OU,2(MA)
CKLA: CAIL 5,2(N)
SKIPL 6,-2(5)
JRST .+3
CAIN MA,2(6)
JRST LAEQ
CAIE OU,(MA)
JRST MVM
SKIPL 1(5)
SKIPN 6,MEM+1(OU)
JRST ADIN
CKEX1: TRNN 6,777777
JRST EXCT
HRLI OU,400001(OU)
AOJ OU,
MOVEM OU,1(5)
DOUT: CAIGE CX,-2(TS)
JRST ADIN
BACK: HRRZI 6,-2(CX)
ADDI 6,2
SKIPGE 1(6)
JRST NEGA+1
SKIPGE OU,(6)
AOBJN OU,NEGA
HRRZI OU,-MEM(6)
HRLI OU,400000(OU)
NEGA: MOVEM OU,1(6)
CAIGE 6,-2(TS)
JRST BACK+1
CAIE TS,2(CX)
JRST NOT1
SUBI TS,2
MOVE EN,(TS)
SUB OU,ONEB
CAME OU,EN
CAIN CX,MEM(OU)
AOBJN OU,NEW1
SKIPL FL,FIXFLG
AOBJN OU,FIXIT
HRRZI EN,MEM+1(OU)
ADD OU,ONEB
CKSAV: SKIPN SAVFLG
POPJ P,
HRRM TS,INTY
MOVEM EN,TMP
POPJ P,
NEW1: SKIPGE FL,FIXFLG
JRST CKSAV
HRRZI OU,-MEM+1(CX)
HRLI OU,400000(OU)
JRST ADTS
NOT1: HRRZI EN,-MEM-2(TS)
HRLI EN,400000-MEM(CX)
MOVE OU,EN
ADD OU,ONEB
SKIPGE FL,FIXFLG
JRST CKSAV
MOVEM EN,(TS)
MOVEM OU,1(TS)
HRRZI OU,-MEM+1(TS)
HRLI OU,400000(OU)
ADTS: ADDI TS,2
FIXIT: SKIPL EN,TMP
JRST CKFLS
MOVEM EN,(TS)
HRRZI EN,1(TS)
ADDI TS,2
CKFLS: PUSHJ P,(FL)
SETOM FIXFLG
JRST CKSAV
GETO: SKIPN OU ;??
POPJ P,
SKIPL PTOFL
OUTSTR SPACE
TLZN OU,400000
TRNN OU,400000
JRST GOUT
MOVE EN,OU
HRRZI 4,777775
JRST MKOUT
PUDO: HRLI OU,(4)
PUSH TS,OU
MOVE OU,EN
GOUT: HLRZ 4,OU
MOR: MOVE EN,MEM(4)
TLZE EN,400000
JRST PUDO
TRNE EN,400000
JRST MKOUT
TLNE EN,777777
JRST DOIT
SKIPE PTOFL
JRST PTOUT
OUTCHR EN
ADO: ADDI 4,2
CAIG 4,(OU)
JRST MOR
TLNN TS,777777
JRST TYOUT
POP TS,OU
HLRZ 4,OU
JRST ADO
DOIT: HLRZS EN
XCT TABL(EN)
JRST ADO
PTOUT: MOVE 6,PTNUM
PTWR1W 6
JRST ADO
MKOUT: HLRZ 6,EN
HRLI EN,(EN)
TRZ EN,400000
MOVEM EN,MEM(6)
JRST ADO
TYOUT: SKIPGE PTOFL
JRST PTOCR
OUTSTR CRLF
POPJ P,
PTOCR: TLNE EN,777777
POPJ P,
HRRZI 6,CRLFP
JRST POST
→∪≥)I*t∪≠=-
A8Y∃∨¬
≥∩~∀%)→≥
↓≤Xd@```~(∪ ∪'5∪&~∀%∪≠'↔
_@bY∃≤~∀∪5∨-
A=*Y∃∨ )!ε~(∪)%≥∀A≤XH````4∀∪∃%M(Aπ∨I+ ~∀%⊃%%5$@jXQ=*R~∀%πβ∪
jX\V\~∀∪≠=-~A=*Y∪!Vb~∀%+/β∪P~∀∪ ∃¬%β,~∀∪⊃I%4@b1!)≥+4~∃!∨1≡t∪!Q∨π≥(b~∀∪M↔∪!∞d~∀∪%≥)∃8A∪!ε4∀∪⊃%I5∩@d1!)≥+4Vd~∀%!)% L@b~∀%∨+)'Q$@Pd$~∀∪∃I'(A!=→≡~∃
∨%+ h∪'∨∀↓∨*X~(∪≠∨-∃~A∨*1∪!εVD~∀∪+]β∪(~(∪ ¬Iβ⊗~(∪⊃%%h@bY∃=¬%_4∀∪β∨(@bX~(∪π∨%∀@bX~(∪∃%'PA)β¬0Vnn~(∪∪≥))≤A∪Aε~∀~)!)¬≤t∪'↔%!≤A!Q≥+~~(∪!)3≥(A!Q≥+~~(∪!∨!(A X~(∪⊃%→i∩@lXP~∀∪!Q∂)_↓!)≥+4~∀∪∨I~@lYA)≥+~,b~∀∪A)')0A!)≥U~~∀∪!%%5∩lXj~(∪⊃%%i~@lYA)≥+~,b~∀∪A)∃∨¬`A!)≥U~~∀∪A∨!∀A@X~∃'∃)∨≤t%')∨4A!)∨→_~∀∪=+)')HAπ%→→λ~∀∪A∨!∀A@X~∃!Q≥λt%'↔∪!8A!)≥U~~∀∪A∨!∀A@X~∀∪A)3%0A!)≥U~~∀∪M)5~↓!)≥+4~∃!)=
t∪M)5~↓!)∨
0~∀∪∨U)')$↓π%→4∀∪!∨A∀A X4∃!)∨8t∪'↔%!
A!Q≥+~~(∪∃%'PA')=≤~∀∪A∨!∀A@X~∃!Qπβ→_h∪'↔∪A≤A!)9+~~∀%!∨!∀↓ X~∀%⊃%%5$@lYπ¬→→ε~)!∨'(h∪⊃%%i~@lYA)≥+~,b~∀∪A)/%&dA!)≥U~~∀∪A∨!∀A@X~∀→'β-%(t∪⊃I%5~@XY
∪1→→∞~∀%∨+)'Q$Aπ%1~∃
%1)&t%'+¬∩↓)&Xd4∀∪≠∨Y
A∨*0ZbQ)LR~∀∪M+∧A 1∨≥∧4∀∪∃%M(A ∨U(~∀~)π%
∪`t∪πβ%∂
@j0ZdQ)LR~∀∪A∨!∀A@X~∀∪)%'(A→∪1)&4∃∪≥ ∃$t∪⊃I%5∩@XX\Vd4∀∪∃%M(A'βY∪(~∀%≠∨-4A∨*X!≤R~(∪!∨!(A X~)→∪)αh∪⊃%%i∩@lX8Vd~∀%∃%'(↓'β-∪P~∀∪'U∧A∨*1∨≥∧4∀∪≠∨Y~A∨TXQ≤$~∀∪!=!∀A 0~∃%!1βπ
t%⊃%%5$@lX\,d~∀∪)%'(AMβ-∪(4∀∪⊃%HA∨*Y5~Q∨TR~∀∪Q→4A∨TXh``@``~∀%)%≡A=*Xh`@```~(∪≠∨-∃~A∨*0Q≤R4∀∪!∨A∀A X4∃β Ht∪⊃%I5∩@l0\Vd~(∪∃%'PA'β-%(~∀∪5∨-
@PY≠~4bQ∨*$~∀∪≠=-~@PXdQ)LR~∀∪
β∪
AQ&XbQ=*R~∀%∃%'(↓∨→λb4∀∪'+ ∩A)&0d~∀∪5∨-
A=*XQ∨TR~∃∨1λbt∪5∨-~↓∨*Xf!)&R~(∪≠∨-∀@hXZDQ≤R4∀∪≠∨Y~@h0Q)&R4∀∪≠∨Y
@jX!≤R~(∪)%≥∀@jXZD~∀∪)I≥
@j0h```@`~∀∪)%'(AA∨∪(~)!∨∪λh∪≠∨-∃~@jXDQ)&R4∀∪⊃%I5∩A∨TX[≠4VdQ)LR~∀∪!%→∩A=*Xh`@```[5~Q)LR~∀∪5∨-~↓∨*Xh!)&R~(∪β∨¬) A∨*0~∀∪≠=-~A=*XjQQ&R~∀%⊃%%5$A∨*X5≠~VTQ)&R4∀∪⊃%1∩A∨*0h```@`Q∨*$~∀∪≠=-~A=*XQ8R~∀∪¬ ∩AQ&Xl~(∪!∨!(A X~)!∨∪(h∪⊃%%i∩@jX!≤R~(∪⊃%→$@jXh@````!≤R~(∪∃%'PA!∨∪⊂~∀~∃9 ∪%(h∪⊃%%i∩@lX8Vd~∀%∃%'(↓'β-∪P~∀∪≠=-
A∨TY≠~!∨*R~(∪≠∨-∃~A∨*0Q≤R4∀∪!∨A∀A X4∀↓*n]mOUTINT: HRRZI 6,.+3
HRRZM 6,FIXFLG
POPJ P,
HRRZI B,7
JUMPE OUTZ
IDIVI =10
ADDI A,60
HRRZM A,BLK(B)
SOJGE B,OUTINT+4
OCHR: OUTCHR BLK+1(B)
CAIGE B,6
AOJA B,OCHR
POPJ P,
OUTZ: CAIL B,7
HRLZI B,300000
JRST OCHR
BLK: BLOCK 20
GLSTV: PUSHJ P,GLSTA
MOVE VAL(A)
POPJ P,
GNXTV: PUSHJ P,GNXTA
MOVE VAL(A)
POPJ P,
GLSTA: SKIPGE A,-1(5)
SKIPL A,MEM(A)
CAIA
JRST .-2
SKIPN A
SKIPL A,-2(5)
POPJ P,
JRST GLSTV+1
GNXTA: SKIPN A,3(5)
SKIPG A,2(5)
SKIPL A
POPJ P,
HLRZ A,A
MOVE A,MEM+400000(A)
JRST GNXTA+2
ADIT: PUSHJ P,GLSTV
PUSHJ P,GNXTA
ADD VAL(A)
POPJ P,
SUBIT: PUSHJ P,GLSTV
PUSHJ P,GNXTA
SUB VAL(A)
POPJ P,
VAL: BLOCK 101 ↔ 2 ↔ 2 ↔ BLOCK 76
TABL: REPEAT 7,{JFCL↔}
JRST RST
PUSHJ P,GLSTA
PUSHJ P,GNXTA
PUSHJ P,GLSTV
PUSHJ P,GNXTV
PUSHJ P,OUTINT
PUSHJ P,CRFIX
REPEAT 24,{JFCL↔}
PUSHJ P,STLIT
REPEAT 10,{JFCL↔}
PUSHJ P,ADIT
PUSHJ P,PTOFF
PUSHJ P,SUBIT
PUSHJ P,PTON
REPEAT 13,{JFCL↔}
PUSHJ P,INDER
REPEAT 4,{JFCL↔}
JSR $I
PUSHJ P,NDIRT
PUSHJ P,ADER
JFCL
PUSHJ P,PTCALL
REPEAT 2,{JFCL↔}
PUSHJ P,FILIN
REPEAT 4,{JFCL↔}
PUSHJ P,PTEND
PUSHJ P,LITA
JFCL
SETZM SAVFLG
PUSHJ P,FILO
PUSHJ P,PTBEG
JFCL
PUSHJ P,RPLACE
SETOM SAVFLG
REPEAT 53,{JFCL↔}
POPS: POPJ P, ↔ PDPO: IOWD 100,PDL
PDL: BLOCK 100 ↔ PTOFL: 0
IPC: 21000,,20000 ↔ 0 ↔ PPN: 'CMSLCS'
DEVN: 17 ↔ SIXBIT/DSK/ ↔ 0
IFNAM: SIXBIT/ALY/ ↔ SIXBIT/OOP/ ↔ BLOCK 2
OFNAM: SIXBIT/LAST/ ↔ SIXBIT/OOP/ ↔ BLOCK 2
INPO: IOWD 200,MEM ↔ QMARK: 45767706424
CRLF: 64240,,0 ↔ ASTR: ASCIZ/*/
SPACE: ASCIZ/ / ↔ CALLC: 600600,,0
CRLFP: 015012,, ↔ FIXFLG: -1
CRLFD: 64245,,600000
TMP: 0 ↔ SAVFLG: -1
LITFLG: -1 ↔ LITCHR: LITCK
ONEB: 1,,1 ↔ TWOB: 2,,2
RETRN: LOOP+1 ↔ PATCH: BLOCK 100
PTNUM: 0 ↔ BLOCK 400
END INT